有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Tomcat 6 java_主页

我试图设置JAVA_主路径,因为我的Tomcat服务器正在寻找它。我试图设置它,但它似乎不工作,并导致错误时,我这样做。我试图在setclasspath中设置JAVA。蝙蝠使用

set JAVA_HOME="C:\Program Files (x86)\Java\jre7"

这是setclasspath的开始。蝙蝠

set JAVA_HOME="C:\Program Files (x86)\Java\jre7"
if not "%JAVA_HOME%" == "" goto gotJdkHome
if not "%JRE_HOME%" == "" goto gotJreHome
echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
echo At least one of these environment variable is needed to run this program
goto exit

当我设置并运行“startup.bat start”时,它会显示出来

Files was unexpected at this time

你能帮我吗


共 (6) 个答案

  1. # 1 楼答案

    将路径放在引号中:

    set JAVA_HOME="C:\Program Files (x86)\Java\jre7"
    

    该错误是因为它正在将程序文件中的文件作为一个单独的参数进行解析,这是SET所不期望的。为什么SET没有正确地阅读它我不能不知道更多关于你使用的操作系统,运行Tomcat的命令外壳等等

  2. # 2 楼答案

    你指的是一个JRE。您需要指向一个JDK,考虑到JRE的位置,它可能是C:\Program Files (x86)\Java\jdk1.6.0_26或类似的东西。或者,如果只安装了JRE,则需要安装完整的JDK。Tomcat需要能够将JSP编译成。类文件,这是JRE无法做到的

  3. # 3 楼答案

    注意:我意识到这已经是一个老生常谈的问题,但这里发布的许多答案要么不完整,要么不准确。。希望这能帮你省去一些麻烦

    首先:Tomcat不需要运行JDK,只要知道它是JRE,它就可以与JRE一起工作

    其次,原始问题的错误来自于set JAVA_HOME=...命令的语法问题。Apache本身可以通过剥离和添加"引号来更好地处理它

    此外,我强烈建议在bin文件夹中创建一个setenv.bat文件。默认情况下,它是不存在的,所以如果您还没有,请创建它并在那里添加set JAVA_HOME=...set JRE_HOME=...

    使用JRE运行

    根据running.txt

    The JRE_HOME variable is used to specify location of a JRE. The JAVA_HOME variable is used to specify location of a JDK.

    Using JAVA_HOME provides access to certain additional startup options that are not allowed when JRE_HOME is used.

    If both JRE_HOME and JAVA_HOME are specified, JRE_HOME is used.

    因此,要以这种方式启动,您需要以下几点:

    set "JAVA_HOME="
    set "JRE_HOME=C:\Program Files (x86)\Java\jre7"
    

    清除JAVA_HOME变量是一种故障保护,但实际上并不需要。根据文档,Tomcat将首先尝试使用JRE变量

    问题解决方案

    特别注意引号的位置。这样可以将整个字符串保存在一个变量中,而不在变量内容本身中包含引号

    例如:

    set %TEST%="hello"
    echo "%TEST%"
    

    将输出""hello""

    set "%TEST%=hello"
    echo "%TEST%"
    

    将输出"hello"

    因此,启动批处理文件脚本试图使用""C:\Program Files (x86)\Java\jre7"",其中第一个非转义空间位于“程序”和“文件”之间

    正如前面所指出的,删除引号(至少在这个特殊情况下)是可行的,但依赖它是危险的。相反,从一开始就要确保安全,并将变量名值用引号括起来

  4. # 4 楼答案

    • 首先,安装java并找到安装路径
    • 找到tomcat安装路径并找到启动。bat in\bin
    • 打开启动。bat并在setlocal之后和rem Guess CATALINA_HOME if not defined之前添加以下(示例)行
    :: JAVA
    set JAVA_HOME=D:\thushara_data\Java\jdk1.8.0_73
    set PATH=%JAVA_HOME%\bin;%PATH%
    

    现在尝试重新运行startup.bat

  5. # 5 楼答案

    • 如果无法手动设置变量: 设置JAVA_HOME and JRE_HOME

    • 转到高级系统设置并单击environment变量

    • system变量下单击

    • 新变量名:JAVA_HOME
    • 变量值:[path of jdk]C:\Program Files\Java\jdk1.8.0_181并单击确定

    • 同样地,添加JRE_HOME

    • 单击新变量名:JRE_HOME
    • 变量值:[path of jre]C:\Program Files\Java\jre1.8.0_181
    • 单击确定Ok>Ok
  6. # 6 楼答案

    我在Windows 7上也遇到了同样的问题,定义如下(我把它放在tomcat 7的RUNNING.txt指定的jdk bin文件夹中的setenv.bat文件中)

    set JAVA_HOME="C:\Program Files (x86)\Java\jre7"
    

    我只是试着把双引号全部去掉:

    set JAVA_HOME=C:\Program Files (x86)\Java\jre7
    

    然后tomcat开始了